﻿<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:ReflectionStudio.Controls"
    xmlns:cc="clr-namespace:System.ComponentModel;assembly=PresentationFramework"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d"
    >
    
    <!-- Rectangle Style for Window borders and header -->
    <Style x:Key="RectangleFrame" TargetType="{x:Type Rectangle}">
        <Setter Property="RadiusX" Value="16"/>
        <Setter Property="RadiusY" Value="16"/>
        <Setter Property="Opacity" Value="1"/>
        <Setter Property="StrokeThickness" Value="0"/>
        <Setter Property="HorizontalAlignment" Value="Stretch"/>
        <Setter Property="VerticalAlignment" Value="Stretch"/>
        <Setter Property="Fill" Value="{DynamicResource WindowBackgroundBrush}"/>
        <Setter Property="BitmapEffect">
            <Setter.Value>
                <DropShadowBitmapEffect/>
            </Setter.Value>
        </Setter>
    </Style>
    
    <!-- DialogWindow Style -->
    <Style x:Key="{x:Type local:DialogWindow}"  TargetType="{x:Type local:DialogWindow}">
        <Setter Property="SnapsToDevicePixels" Value="True"/>
        <Setter Property="AllowsTransparency" Value="True"/>
        <Setter Property="WindowStyle" Value="None"/>
        <Setter Property="Background" Value="{DynamicResource WindowBackgroundBrush}"/>
        <Setter Property="ShowInTaskbar" Value="False"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:DialogWindow}">

                    <Grid Margin="10">
                        <!--Windows Frame rectangle-->
                        <Rectangle Style="{StaticResource RectangleFrame}"/>

                        <!--PART_Close is the dialog close button-->
                        <Button Style="{DynamicResource closeButton}" x:Name="PART_Close" Height="11" Width="11" 
                                HorizontalAlignment="Right" Margin="0,9,11,0" VerticalAlignment="Top" 
                                ToolTip="Close" IsCancel="True"
                                />

                        <!-- PART_ContentPresenter -->
                        <ContentPresenter x:Name="PART_ContentPresenter"
                                          HorizontalAlignment="Stretch"
                                          VerticalAlignment="Stretch"
                                          />

                        <ResizeGrip Grid.Column="0" HorizontalAlignment="Right" 
                                           VerticalAlignment="Bottom" Width="17" Height="17" Focusable="False" Margin="0,0,8,8"
                                           x:Name="PART_ResizeGrip" Cursor="SizeNWSE"/>
                    </Grid>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <!-- HeaderedDialogWindow Style -->
    <Style x:Key="{x:Type local:HeaderedDialogWindow}" TargetType="{x:Type local:HeaderedDialogWindow}">
        <Setter Property="SnapsToDevicePixels" Value="True"/>
        <Setter Property="AllowsTransparency" Value="True"/>
        <Setter Property="WindowStyle" Value="None"/>
        <Setter Property="Background" Value="Transparent"/>
        <Setter Property="ShowInTaskbar" Value="False"/>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:HeaderedDialogWindow}">
                    <Grid Margin="10" d:DesignWidth="200" d:DesignHeight="300">
                        <Grid.RowDefinitions>
                        	<RowDefinition Height="Auto" />
                            <RowDefinition Height="*" />
                        </Grid.RowDefinitions>
                        <!--Windows Frame rectangle-->
                        <Rectangle Grid.RowSpan="2" Style="{StaticResource RectangleFrame}"/>

                        <!--Header-->
                        <local:DialogHeader Grid.Row="0" x:Name="PART_Header"
                                VerticalAlignment="Stretch" HasSeparator="Visible"
                                Title="{TemplateBinding Property=Title}"
                                Image="{TemplateBinding Property=DialogImage}"
                                Description="{TemplateBinding Property=DialogDescription}" />
                        
                        <!--PART_Close is the dialog close button-->
                        <Button Grid.Row="0" Style="{DynamicResource closeButton}" x:Name="PART_Close" Height="11" 
                                HorizontalAlignment="Right" Margin="0,9,11,0" VerticalAlignment="Top" Width="11" 
                                ToolTip="Close" IsCancel="True"/>

                        <!-- PART_ContentPresenter -->
                        <ContentPresenter Grid.Row="1" x:Name="PART_ContentPresenter"
                                          HorizontalAlignment="Stretch"
                                          VerticalAlignment="Stretch"
                                          />

                    	<ResizeGrip Grid.Row="1" HorizontalAlignment="Right" 
                    		VerticalAlignment="Bottom" Width="17" Height="17" Focusable="False" Margin="0,0,2,2"
                    		x:Name="PART_ResizeGrip" Cursor="SizeNWSE"/>
                    </Grid>
                    
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    
</ResourceDictionary>